Maintained by Suprapto van Plaosan (https://www.facebook.com/LearningBox-2022902234682612/?ref=page_internal)
Klasterisasi data menggunakan KMeans merupakan algoritma yang sangat populer karena kemudahannya. Data akan dikelompokkan berdasarkan kedekatan masing-masing titik data pada titik beratnya. Secara umum, data yang jaraknya dekat biasanya mempunyai kesamaan yang lebih besar daripada data yang jaraknya jauh. Jarak antar data biasanya diukur menggunakan Eucledian Distance.
Klasterisasi data KMeans di Python dapat dilakukan dengan mengimpor pustaka KMeans dari scikitlearn cluster
Diagnosis dan deteksi dini kanker payudara dengan mendiagnosis massa payudara dari Aspirasi Jarum Halus (FNA) telah dibuat yang memungkinkan diagnosis FNA payudara bahkan oleh pengguna yang tidak terlatih. Sistem ini digunakan di Rumah Sakit University of Wisconsin. Antarmuka grafis dikembangkan untuk menghitung fitur wilayah kecil dari FNA didigitalkan, menghasilkan 640 × 400, 8-bit-per-pixel gambar grayscale. Program analisis gambar, program Xcyt digunakan untuk fitting kurva untuk menentukan batas-batas inti. Sebagian dari gambar yang diproses ditunjukkan pada Gambar 1. Sepuluh fitur dihitung untuk masing-masing inti: luas, jari-jari, keliling, simetri, jumlah dan ukuran cekung, dimensi fraktal (batas), kekompakan, kehalusan dan tekstur. Data diagnosis berisi simbol B dan M yang mewakili Benign/Sehat dan Malignant/Sakit.
Gambar 1: Gambar FNA yang diperbesar dari sel kanker payudara ganas
df.head()
df.describe()
import seaborn as sb
g=sb.pairplot(df, hue='Diagnosis')
g.map_lower(sb.kdeplot)
g.map_diag(sb.kdeplot)
dari Wikipedia, ensiklopedia gratis
Koefisien korelasi adalah ukuran numerik dari beberapa jenis korelasi , yang berarti hubungan statistik antara dua variabel . [1] Variabel dapat berupa dua kolom dari kumpulan data pengamatan tertentu, sering disebut sampel , atau dua komponen variabel acak multivariat dengan distribusi yang diketahui .
Ada beberapa jenis koefisien korelasi, masing-masing dengan definisi dan jangkauan kegunaan dan karakteristik masing-masing. Mereka semua mengasumsikan nilai dalam kisaran dari −1 hingga +1, di mana ± 1 menunjukkan kesepakatan terkuat dan 0 ketidaksetujuan sekuat mungkin. [2] Sebagai alat analisis, koefisien korelasi menyajikan masalah-masalah tertentu, termasuk kecenderungan beberapa jenis untuk terdistorsi oleh pencilan dan kemungkinan salah digunakan untuk menyimpulkan hubungan sebab akibat antara variabel.
df.corr()
corr=df.corr()
import matplotlib.pyplot as plt
plt.figure(figsize=(12,12))
sb.set(font_scale=1.25)
sb.heatmap(corr, square=True, annot=True, fmt='.2g', cmap='viridis', linewidths=1)
plt.figure(figsize=(15,15))
sb.set(font_scale=1.2)
sb.clustermap(corr, square=True, annot=True, fmt='.2g', cmap='viridis', linewidths=1)
kmeans=KMeans(n_clusters=2)
kmeans.fit(X)
y_kmeans=kmeans.predict(X)
centers=kmeans.cluster_centers_
plt.figure(figsize=(9,9))
plt.scatter(X.iloc[:,1], X.iloc[:,2], c=y_kmeans, s=100, cmap='viridis')
plt.scatter(centers[:,1], centers[:,2], c='red', s=10000, alpha=0.75)
plt.grid(False)
Dalam bidang machine learning dan khususnya masalah klasifikasi statistik , Confusion Matrix , yang juga dikenal sebagai matriks kesalahan, [4] adalah tata letak tabel spesifik yang memungkinkan visualisasi kinerja suatu algoritma, biasanya supervised learning (dalam belajar tanpa pengawasan biasanya disebut matriks contingency). Setiap baris matriks mewakili nilai dalam kelas yang diprediksi sementara setiap kolom mewakili nilai dalam kelas sebenarnya (atau sebaliknya). [2] Nama ini berasal dari fakta bahwa membuatnya mudah untuk melihat apakah sistem membingungkan dua kelas (yaitu umumnya salah memberi label satu sama lain).
Ini adalah jenis khusus dari tabel kontingensi , dengan dua dimensi ("aktual" dan "diperkirakan"), dan set "kelas" yang identik di kedua dimensi (setiap kombinasi dimensi dan kelas adalah variabel dalam tabel kontingensi).
from sklearn.metrics import confusion_matrix
confusion_matrix(Y, y_kmeans)
conf=confusion_matrix(Y, y_kmeans)
plt.figure(figsize=(6,6))
sb.set(font_scale=1.5)
sb.heatmap(conf.T, square=True, annot=True, fmt='.3g', cmap='viridis', linewidths=1)
plt.xlabel('Predicted Value')
plt.ylabel('True Value')
from sklearn.metrics import accuracy_score
accuracy_score(Y, y_kmeans)
Metrik ini merupakan pengukuran simetris: perbandingan label_true dengan label_pred akan menghasilkan nilai skor yang sama. Ini bisa bermanfaat untuk mengukur kesesuaian dua label independen pada dataset yang sama ketika label yang sebenarnya tidak diketahui.
from sklearn.metrics import adjusted_mutual_info_score
print(adjusted_mutual_info_score(Y, y_kmeans, average_method='arithmetic'))
print("Skore mendekati nilai 1 untuk klaster yang identik.")
from sklearn.metrics import adjusted_rand_score
print(adjusted_rand_score(Y, y_kmeans))
print("Skore mendekati nilai 1 untuk klaster yang identik.")
from sklearn.metrics import calinski_harabaz_score
print(calinski_harabaz_score(X, y_kmeans))
print("Skore menunjukkan rasio dispersi dalam klaster terhadap dispersi antar klaster.")
from sklearn.metrics import davies_bouldin_score
print(davies_bouldin_score(X, y_kmeans))
print("Skore menunjukkan rasio jarak dalam klaster terhadap jarak antar klaster.")
from sklearn.metrics import completeness_score
print(completeness_score(Y, y_kmeans))
print("*Completeness* menunjukkan apakah semua titik data untuk kelompok yang sama merupakan anggota klaster yang sama.")
from sklearn.metrics.cluster import contingency_matrix
print(contingency_matrix(Y, y_kmeans,eps=None, sparse=False))
Matriks antara nilai sebenarnya dengan nilai prediksi. Matrix ini serupa dengan Confusion Matrix
from sklearn.metrics import fowlkes_mallows_score
print(fowlkes_mallows_score(Y, y_kmeans))
Skore bernilai antara 0 sampai dengan 1. Semakin tinggi nilai semakin bagus tingkat kesamaan antara nilai sebenarnya dengan nilai prediksi.
from sklearn.metrics import homogeneity_completeness_v_measure
homogeneity_completeness_v_measure(Y, y_kmeans)
Mempunyai nilai antara 0.0 sampai dengan 1.0. Nilai yang baik adalah nilai yang mendekati 1.0
from sklearn.metrics import homogeneity_score
homogeneity_score(Y, y_kmeans)
Skor antara 0.0 sampai dengan 1.0. Skor 1.0 menunjukkan labelisasi homogen
from sklearn.metrics import mutual_info_score
mutual_info_score(Y, y_kmeans, contingency=None)
Nilai yang didasarkan pada perhitungan contingency matrix
from sklearn.metrics import normalized_mutual_info_score
normalized_mutual_info_score(Y, y_kmeans, average_method='arithmetic')
Skor antara 0.0 sampai dengan 1.0. Skor 1.0 menunjukkan labelisasi total
from sklearn.metrics import silhouette_score
print(silhouette_score(X, y_kmeans))
Nilai paling bagus adalah 1 dan nilai paling jelek adalah -1. Nilai mendekati 0 menunjukkan klaster yang tumpang tindih. Nilai negatif menunjukkan bahwa sampel dikelompokkan ke dalam klaster yang salah
from sklearn.metrics import silhouette_samples
print(silhouette_samples(X, y_kmeans))
Nilai paling bagus adalah 1 dan nilai paling jelek adalah -1. Nilai mendekati 0 menunjukkan klaster yang tumpang tindih.
from sklearn.metrics import v_measure_score
print(v_measure_score(Y, y_kmeans))
Skor antara 0.0 sampai dengan 1.0. Skor 1.0 menunjukkan labelisasi total
from sklearn.cluster import k_means
k_means(X, n_clusters=3, sample_weight=None, init='k-means++', precompute_distances='auto', n_init=10, max_iter=300, verbose=False, tol=0.0001, random_state=None, copy_x=True, n_jobs=None, algorithm='auto', return_n_iter=True)
Principal component analysis ( PCA ) adalah prosedur statistik yang menggunakan transformasi ortogonal untuk mengubah seperangkat pengamatan dari variabel yang mungkin berkorelasi (entitas yang masing-masing mengambil berbagai nilai numerik) menjadi seperangkat nilai variabel tidak linear yang disebut komponen utama . Transformasi ini didefinisikan sedemikian rupa sehingga komponen utama pertama memiliki varians sebesar mungkin (yaitu, menyumbang sebanyak variabilitas dalam data mungkin), dan setiap komponen berikutnya pada gilirannya memiliki varians tertinggi yang mungkin di bawah kendala bahwa itu ortogonalke komponen sebelumnya. Vektor yang dihasilkan (masing-masing merupakan kombinasi linear dari variabel dan berisi n pengamatan) adalah himpunan basis ortogonal yang tidak berkorelasi . PCA sensitif terhadap skala relatif dari variabel asli.
PCA ditemukan pada tahun 1901 oleh Karl Pearson , [1] sebagai analog dari teorema sumbu utama dalam mekanika; kemudian dikembangkan secara independen dan dinamai oleh Harold Hotelling pada 1930-an. [2] Bergantung pada bidang aplikasi, ia juga dinamai diskrit Karhunen-Loève (KLT) dalam pemrosesan sinyal , transformasi Hotelling dalam kontrol kualitas multivariat, dekomposisi ortogonal yang tepat (POD) dalam teknik mesin, dekomposisi nilai singular (SVD) ) dari X (Golub dan Van Loan, 1983), dekomposisi nilai eigen (EVD) dari XT X dalam aljabar linier, analisis faktor (untuk diskusi tentang perbedaan antara PCA dan analisis faktor, lihat Bab 7 dari Analisis Komponen Utama Jolliffe ), [3] Eckart-Young theorem (Harman, 1960), atau fungsi ortogonal empiris (EOF ) dalam ilmu meteorologi, dekomposisi fungsi eigen empiris (Sirovich, 1987), analisis komponen empiris (Lorenz, 1956), mode quasiharmonic (Brooks et al., 1988), dekomposisi spektral dalam kebisingan dan getaran, dan analisis modal empiris dalam dinamika struktural.
PCA sebagian besar digunakan sebagai alat dalam analisis data eksplorasi dan untuk membuat model prediksi . Ini sering digunakan untuk memvisualisasikan jarak genetik dan keterkaitan antar populasi. PCA dapat dilakukan dengan dekomposisi nilai eigen dari matriks kovarians data (atau korelasi ) atau dekomposisi nilai singular dari matriks data , biasanya setelah langkah normalisasi data awal. Normalisasi setiap atribut terdiri dari pemusatan rata - rata - mengurangkan setiap nilai data dari rata-rata variabel yang diukur sehingga rata-rata empirisnya (rata-rata) adalah nol - dan, mungkin, menormalkan varian masing-masing variabel agar sama dengan 1; LihatSkor-Z . [4] Hasil PCA biasanya dibahas dalam hal skor komponen , kadang-kadang disebut skor faktor (nilai variabel yang ditransformasikan sesuai dengan titik data tertentu), dan pembebanan (bobot di mana setiap variabel asli standar harus dikalikan untuk mendapatkan skor komponen). [5]Jika skor komponen distandarisasi untuk varians unit, memuat harus berisi varians data di dalamnya (dan itu adalah besarnya nilai eigen). Jika skor komponen tidak distandarisasi (karena itu mengandung varians data) maka pemuatan harus berskala-unit, ("dinormalisasi") dan bobot ini disebut vektor eigen; mereka adalah cosinus dari rotasi orthogonal variabel menjadi komponen utama atau belakang.
PCA adalah analisis multivariat berbasis vektor eigen yang paling sederhana . Seringkali, operasinya dapat dianggap sebagai mengungkapkan struktur internal data dengan cara yang paling menjelaskan perbedaan dalam data. Jika dataset multivariat divisualisasikan sebagai seperangkat koordinat dalam ruang data dimensi tinggi (1 sumbu per variabel), PCA dapat menyediakan gambar dimensi yang lebih rendah kepada pengguna, proyeksi objek ini jika dilihat dari sudut pandang paling informatif [ rujukan? ] . Ini dilakukan dengan hanya menggunakan beberapa komponen utama pertama sehingga dimensi data yang diubah berkurang.
PCA terkait erat dengan analisis faktor . Analisis faktor biasanya memasukkan lebih banyak asumsi spesifik domain tentang struktur yang mendasarinya dan memecahkan vektor eigen dari matriks yang sedikit berbeda.
PCA juga terkait dengan analisis korelasi kanonik (CCA) . CCA mendefinisikan sistem koordinat yang secara optimal menggambarkan cross-covariance antara dua dataset sementara PCA mendefinisikan sistem koordinat orthogonal baru yang secara optimal menggambarkan varians dalam satu dataset. [6] [7]
Data iris flower akan digunakan untuk pengolahan data menggunakan PCA (Sumber: Wikipedia)
The Iris Data bunga ditetapkan atau Fisher Iris kumpulan data adalah multivariat kumpulan data diperkenalkan oleh British statistik dan biologi Ronald Fisher pada tahun 1936 makalahnya Penggunaan beberapa pengukuran di masalah taksonomi sebagai contoh analisis diskriminan linier . [1] Kadang-kadang disebut set data Iris Anderson karena Edgar Anderson mengumpulkan data untuk menghitung variasi morfologis bunga Iris dari tiga spesies terkait.[2] Dua dari tiga spesies dikumpulkan di Semenanjung Gaspé "semuanya berasal dari padang rumput yang sama, dan dipetik pada hari yang sama dan diukur pada saat yang sama oleh orang yang sama dengan peralatan yang sama". [3]
Set data terdiri dari 50 sampel dari masing-masing dari tiga spesies Iris ( Iris setosa , Iris virginica dan Iris versicolor ). Empat fitur diukur dari masing-masing sampel: panjang dan lebar sepal dan kelopak , dalam sentimeter. Berdasarkan kombinasi keempat fitur ini, Fisher mengembangkan model diskriminan linier untuk membedakan spesies dari satu sama lain.
Iris setosa (juga dikenal sebagai iris bulu-runcing ), adalah spesies dalam genus Iris , juga dalam subgenus Limniris dan dalam seri Iris Tripetalae . Ini adalah tanaman rhizomatosa abadi dari berbagai wilayah di laut Arktik, termasuk Alaska , Maine , Kanada (termasuk British Columbia , Newfoundland , Quebec dan Yukon ), Rusia (termasuk Siberia ), Asia timur laut, Cina , Koreadan ke selatan ke Jepang. Tanaman ini memiliki batang bercabang tinggi, daun hijau tengah dan ungu, ungu-biru, ungu-biru, biru, hingga bunga lavender. Ada juga tanaman dengan bunga merah muda dan putih.
Iris versicolor juga dikenal sebagai bendera biru , blueflag harlequin , bendera biru yang lebih besar , bendera biru utara , [1] dan bendera racun , ditambah variasi lain dari nama-nama ini, [2] [3] dan di Inggris dan Irlandia sebagai iris ungu . [4]
Ini adalah spesies Iris asli Amerika Utara, di Amerika Serikat bagian Timur dan Kanada Timur . Hal ini biasa terjadi di padang rumput, rawa-rawa, dan sepanjang streambanks dan pantai. Versitet julukan spesifik berarti "berbagai warna". [5]
Ini adalah salah satu dari tiga spesies Iris dalam data bunga Iris yang ditetapkan oleh Ronald Fisher dalam makalahnya tahun 1936 "Penggunaan berbagai pengukuran dalam masalah taksonomi" sebagai contoh analisis diskriminan linier .
Iris virginica , dengan nama umum Virginia iris , adalah abadi spesies dari tanaman berbunga , asli Amerika Utara bagian timur.
Hal ini biasa terjadi di sepanjang dataran pantai dari Florida ke Georgia di Amerika Serikat Tenggara . [2]
Ini adalah salah satu dari tiga spesies Iris dalam data bunga Iris yang ditetapkan oleh Ronald Fisher dalam makalahnya tahun 1936 "Penggunaan berbagai pengukuran dalam masalah taksonomi" sebagai contoh analisis diskriminan linier .
df=df.drop('Unnamed: 0', axis=1)
df.head()
X=df.iloc[:,0:4]
X.head()
Y=df['class']
Y.head()
pca=PCA(n_components=3)
x_pca=pca.fit_transform(X)
import numpy as np
covmat=np.cov(x_pca.T)
print(covmat)
eigenval, eigenvec=np.linalg.eig(covmat)
print(eigenval)
print(eigenvec)
eig_pairs=[(np.abs(eigenval[i]),eigenvec[:,i]) for i in range(len(eigenval))]
tot=sum(eigenval)
var_exp=[(i/tot)*100 for i in sorted(eigenval, reverse=True)]
var_exp
cum_var_exp = np.cumsum(var_exp)
print(cum_var_exp)
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(9,6))
plt.bar(range(3),var_exp,alpha=0.5, align='center',label='Individual Explained Variance')
plt.step(range(3),cum_var_exp, 'r-', alpha=0.5, where='mid',label='Cumulative Explained Variance')
plt.ylabel('Explained Variance Ratio')
plt.xlabel('Principal Component')
plt.legend(loc='best')
Komponen utama pertama, atau PC1, 'menjelaskan varian paling banyak' dalam dataset asli - ini juga berarti bahwa fitur yang berkorelasi dengan PC1 berkontribusi terhadap sejumlah besar variasi dalam data.
Saat Anda beralih dari PC1 ke PC final, jumlah varians yang dijelaskan berkurang, sedangkan varians yang dijelaskan kumulatif mendekati 100%. Jika Anda ingin mengurangi jumlah dimensi untuk analisis, Anda dapat memilih jumlah PC tertentu berdasarkan pada seberapa banyak variasi dijelaskan (mis. 95%). Anda juga dapat memahami seberapa banyak perbedaan dijelaskan hanya dalam dua atau tiga dimensi yang mudah divisualisasikan.
Saat menganalisis data dengan banyak variabel, saya ingin memahami berapa banyak dan fitur mana yang berguna. Saya bekerja di genomik, di mana Anda dapat dengan mudah memiliki ribuan fitur per instance dan memahami berapa banyak fitur yang saya butuhkan membuatnya lebih mudah untuk melatih dan menafsirkan model pada data itu. Dalam genomik, fitur itu murah dan instansinya berharga. Untuk alasan ini, saya sering menggunakan PCA sebagai panduan untuk memilih fitur mana yang menjadi fokus.
from mpl_toolkits.mplot3d import Axes3D
fig=plt.figure(1,figsize=(9,6))
ax=Axes3D(fig,elev=-150,azim=110)
colormap=np.array(['red','blue','purple'])
ax.scatter(x_pca[:, 0], x_pca[:, 1],edgecolor='k', s=100,c=colormap[Y])
ax.set_title("First three PCA directions")
ax.set_xlabel("1st eigenvector")
ax.w_xaxis.set_ticklabels([])
ax.set_ylabel("2nd eigenvector")
ax.w_yaxis.set_ticklabels([])
ax.set_zlabel("3rd eigenvector")
ax.w_zaxis.set_ticklabels([])
plt.show()
plt.figure(figsize=(9,6))
plt.scatter(x_pca[:, 0], x_pca[:, 1],edgecolor='k', s=100,c=colormap[Y])

dari Wikipedia, ensiklopedia gratis
Dalam statistik dan penggalian data , Affinity Propagation (AP) adalah algoritma pengelompokan berdasarkan konsep "message passing" antara titik data. [1] Tidak seperti algoritma pengelompokan seperti k-means atau k-medoids, propagasi afinitas tidak memerlukan jumlah cluster yang harus ditentukan atau diperkirakan sebelum menjalankan algoritma. Mirip dengan k -medoid, propagasi afinitas menemukan "contoh" anggota kumpulan input yang mewakili cluster. [1]
Algoritma
Misalnya xi sampai dengan xn merupakan satu set titik data, tanpa asumsi tentang struktur internal mereka, dan membiarkan s menjadi fungsi yang mengkuantifikasi kesamaan antara dua titik, sehingga s ( xi , xj )> s ( xi , xk ) bila xi lebih mirip dengan xj daripada dengan xk. Maka, jarak kuadrat negatif dari dua titik data untuk titik xi dan xk.
$${\displaystyle s(i,k)=-\left\|x_{i}-x_{k}\right\|^{2}} {\displaystyle s(i,k)=-\left\|x_{i}-x_{k}\right\|^{2}}$$
Aplikasi Penemu propagasi afinitas menunjukkan bahwa AP lebih baik daripada k-means untuk aplikasi komputer vision dan komputasi biologi, misalnya mengelompokkan gambar wajah manusia dan mengidentifikasi transkrip yang diatur[1]. Sebuah studi yang membandingkan propagasi afinitas dan pengelompokan Markov pada partisi grafik interaksi protein menemukan bahwa pengelompokan Markov bekerja lebih baik untuk masalah itu. [3] Varian semi-diawasi telah diusulkan untuk aplikasi teks mining [4].
from sklearn.cluster import AffinityPropagation
import pandas as pd
from sklearn.datasets import load_breast_cancer
Wisconsin Breast Cancer Diagnostic Datasets
Dataset yang digunakan adalah Wisconsin Breast Cancer Diagnostic. Diagnosis dan deteksi dini kanker payudara dengan mendiagnosis massa payudara dari Aspirasi Jarum Halus (FNA) telah dibuat yang memungkinkan diagnosis FNA payudara bahkan oleh pengguna yang tidak terlatih. Sistem ini digunakan di Rumah Sakit University of Wisconsin. Antarmuka grafis dikembangkan untuk menghitung fitur wilayah kecil dari FNA didigitalkan, menghasilkan 640 × 400, 8-bit-per-pixel gambar grayscale. Program analisis gambar, program Xcyt digunakan untuk fitting kurva untuk menentukan batas-batas inti. Sebagian dari gambar yang diproses ditunjukkan pada Gambar 1. Sepuluh fitur dihitung untuk masing-masing inti: luas, jari-jari, keliling, simetri, jumlah dan ukuran cekung, dimensi fraktal (batas), kekompakan, kehalusan dan tekstur. Data diagnosis berisi simbol B dan M yang mewakili Benign/Sehat dan Malignant/Sakit.
Sebagian besar jenis kanker payudara mudah didiagnosis dengan analisis mikroskopis sampel — atau biopsi — pada area payudara yang terkena. Juga, ada beberapa jenis kanker payudara yang memerlukan ujian laboratorium khusus.
Dua metode skrining yang paling umum digunakan, pemeriksaan fisik payudara oleh penyedia layanan kesehatan dan mamografi, dapat menawarkan kemungkinan perkiraan bahwa benjolan adalah kanker, dan juga dapat mendeteksi beberapa lesi lain, seperti kista sederhana . [89] Ketika pemeriksaan ini tidak dapat disimpulkan, penyedia layanan kesehatan dapat mengeluarkan sampel cairan dalam benjolan untuk analisis mikroskopis (prosedur yang dikenal sebagai aspirasi jarum halus)., atau aspirasi jarum halus dan sitologi — FNAC) untuk membantu menegakkan diagnosis. Aspirasi jarum dapat dilakukan di kantor atau klinik penyedia layanan kesehatan. Anestesi lokal dapat digunakan untuk mematikan jaringan payudara untuk mencegah rasa sakit selama prosedur, tetapi mungkin tidak diperlukan jika benjolan tidak berada di bawah kulit. Temuan cairan bening membuat benjolan tersebut sangat tidak mungkin menjadi kanker, tetapi cairan berdarah dapat dikirim untuk diperiksa di bawah mikroskop untuk sel-sel kanker. Bersama-sama, pemeriksaan fisik payudara, mamografi, dan FNAC dapat digunakan untuk mendiagnosis kanker payudara dengan tingkat akurasi yang baik.
Pilihan lain untuk biopsi termasuk biopsi inti atau biopsi payudara berbantuan vakum , [90] yang merupakan prosedur di mana sebagian benjolan payudara diangkat; atau biopsi eksisi , di mana seluruh benjolan dihilangkan. Sangat sering hasil pemeriksaan fisik oleh penyedia layanan kesehatan, mamografi, dan tes tambahan yang dapat dilakukan dalam keadaan khusus (seperti pencitraan dengan USG atau MRI ) cukup untuk menjamin biopsi eksisi sebagai diagnostik definitif dan metode perawatan primer.
wdbc=load_breast_cancer()
wdbc.data
wdbc.data.shape
wdbc.target
wdbc.target.shape
X=wdbc.data
Y=wdbc.target
apc=AffinityPropagation(damping=0.99, max_iter=1000, convergence_iter=5)
apc.fit(X)
y_apc=apc.predict(X)
import matplotlib.pyplot as plt
centers=apc.cluster_centers_
plt.figure(figsize=(9,6))
plt.scatter(X[:,1], X[:,0], c=y_apc, s=100, cmap='viridis')
plt.scatter(centers[:,1], centers[:,0], c='black', s=2500, alpha=0.75)
plt.grid(False)
from sklearn.metrics import confusion_matrix
confusion_matrix(Y, y_apc)
import seaborn as sb
conf=confusion_matrix(Y, y_apc)
sb.set(font_scale=1.25)
sb.heatmap(conf.T, square=True, annot=True, fmt='.3g', cmap='viridis', linewidths=1)
plt.xlabel('Predicted Value')
plt.ylabel('True Value')
from sklearn.metrics import accuracy_score
accuracy_score(Y, y_apc)
Metrik ini merupakan pengukuran simetris: perbandingan label_true dengan label_pred akan menghasilkan nilai skor yang sama. Ini bisa bermanfaat untuk mengukur kesesuaian dua label independen pada dataset yang sama ketika label yang sebenarnya tidak diketahui.
from sklearn.metrics import adjusted_mutual_info_score
print(adjusted_mutual_info_score(Y, y_apc, average_method='arithmetic'))
print("Skore mendekati nilai 1 untuk klaster yang identik.")
from sklearn.metrics import adjusted_rand_score
print(adjusted_rand_score(Y, y_apc))
print("Skore mendekati nilai 1 untuk klaster yang identik.")
from sklearn.metrics import calinski_harabaz_score
print(calinski_harabaz_score(X, y_apc))
print("Skore menunjukkan rasio dispersi dalam klaster terhadap dispersi antar klaster.")
from sklearn.metrics import davies_bouldin_score
print(davies_bouldin_score(X, y_apc))
print("Skore menunjukkan rasio jarak dalam klaster terhadap jarak antar klaster.")
from sklearn.metrics import completeness_score
print(completeness_score(Y, y_apc))
print("*Completeness* menunjukkan apakah semua titik data untuk kelompok yang sama merupakan anggota klaster yang sama.")
from sklearn.metrics.cluster import contingency_matrix
print(contingency_matrix(Y, y_apc,eps=None, sparse=False))
Matriks antara nilai sebenarnya dengan nilai prediksi. Matrix ini serupa dengan Confusion Matrix
from sklearn.metrics import fowlkes_mallows_score
print(fowlkes_mallows_score(Y, y_apc))
Skore bernilai antara 0 sampai dengan 1. Semakin tinggi nilai semakin bagus tingkat kesamaan antara nilai sebenarnya dengan nilai prediksi.
from sklearn.metrics import homogeneity_completeness_v_measure
homogeneity_completeness_v_measure(Y, y_apc)
Mempunyai nilai antara 0.0 sampai dengan 1.0. Nilai yang baik adalah nilai yang mendekati 1.0
from sklearn.metrics import homogeneity_score
homogeneity_score(Y, y_apc)
Skor antara 0.0 sampai dengan 1.0. Skor 1.0 menunjukkan labelisasi homogen
from sklearn.metrics import mutual_info_score
mutual_info_score(Y, y_apc, contingency=None)
Nilai yang didasarkan pada perhitungan contingency matrix
from sklearn.metrics import normalized_mutual_info_score
normalized_mutual_info_score(Y, y_apc, average_method='arithmetic')
Skor antara 0.0 sampai dengan 1.0. Skor 1.0 menunjukkan labelisasi total
from sklearn.metrics import silhouette_score
print(silhouette_score(X, y_apc))
Nilai paling bagus adalah 1 dan nilai paling jelek adalah -1. Nilai mendekati 0 menunjukkan klaster yang tumpang tindih. Nilai negatif menunjukkan bahwa sampel dikelompokkan ke dalam klaster yang salah
from sklearn.metrics import silhouette_samples
print(silhouette_samples(X, y_apc))
Nilai paling bagus adalah 1 dan nilai paling jelek adalah -1. Nilai mendekati 0 menunjukkan klaster yang tumpang tindih.
from sklearn.metrics import v_measure_score
print(v_measure_score(Y, y_apc))
Skor antara 0.0 sampai dengan 1.0. Skor 1.0 menunjukkan labelisasi total
import pandas as pd
import matplotlib.pyplot as plt
import pandas_datareader as rd
from pandas import datetime
start=datetime(2019,1,1)
end=datetime(2019,7,11)
Data harga saham merupakan salah satu contoh data time series. Analisis data time series biasanya menggunakan metode Auto Regressive Integrated Moving Averaging (ARIMA), Fourier Transform, Markov Chain, and Wavelets analysis.
Plot autokorelasi ( Box dan Jenkins) adalah alat yang biasa digunakan untuk memeriksa keacakan dalam set data. Keacakan ini dipastikan dengan menghitung autokorelasi untuk nilai data pada berbagai jeda waktu. Jika acak, autokorelasi seperti itu harus mendekati nol untuk setiap dan semua pemisahan jeda waktu. Jika tidak acak, maka satu atau lebih autokorelasi akan secara signifikan tidak nol. Selain itu, plot autokorelasi digunakan dalam tahap identifikasi model untuk autoregresif Box-Jenkins , model deret waktu rata-rata bergerak.
Berikut ini adalah contoh plot autokorelasi. Plot autokorelasi yang tidak menunjukkan korelasi dan keacakan otomatis yang signifikan. Kesimpulan plot yang didapat dari plot di atas adalah sebagai berikut:
Tidak ada kemampuan asosiatif untuk menyimpulkan dari nilai saat ini Y i untuk nilai selanjutnya Y i + 1. Non-asosiasi semacam itu adalah esensi keacakan. Singkatnya, pengamatan yang berdekatan tidak "saling berhubungan", jadi kdisimpulkan kurva di atas menggambarkan kasus "tidak ada autokorelasi".
Rolling(n) pada Python mengacu pada metode Moving Averaging (MA) dengan n merupakan jumlah data yang dirata-rata. Notasi MA ( q ) mengacu pada model rata-rata bergerak dari urutan q :
di mana μ adalah mean dari seri, θ 1 , ..., θ q adalah parameter dari model dan ε t , ε t -1 , ..., ε t -q adalah white noise istilah kesalahan. Nilai q disebut urutan model MA. Ini dapat ditulis secara ekivalen dalam hal operator backshift B sebagai
Dengan demikian, model rata-rata bergerak secara konseptual merupakan regresi linier dari nilai saat ini dari seri terhadap persyaratan kesalahan white noise saat ini dan sebelumnya (yang diamati) atau guncangan acak. Guncangan acak di setiap titik diasumsikan saling independen dan berasal dari distribusi yang sama, biasanya distribusi normal , dengan lokasi nol dan skala konstan.
Dalam statistik deskriptif , plot kotak atau boxplot adalah metode untuk menggambarkan secara grafis kelompok data numerik melalui kuartilnya . Box plot mungkin juga memiliki garis-garis memanjang secara vertikal dari kotak ( kumis ) menunjukkan variabilitas luar kuartil atas dan bawah, maka istilah kotak-dan-kumis petak dan kotak-dan-kumis diagram . Pencilan dapat diplot sebagai poin individual. Plot kotak non-parametrik : plot ini menampilkan variasi dalam sampel populasi statistik tanpa membuat asumsi apa pun dari distribusi statistik yang mendasarinya(Meskipun boxplot Tukey mengasumsikan simetri untuk kumis dan normalitas untuk panjangnya). Jarak antar bagian kotak yang berbeda menunjukkan tingkat dispersi (sebaran) dan kemiringan dalam data, dan menunjukkan outlier . Selain poin itu sendiri, mereka memungkinkan seseorang untuk memperkirakan berbagai estimasi L- secara visual , terutama kisaran interkuartil , midhinge , jangkauan , mid-range , dan trimean . Petak kotak dapat digambar secara horizontal atau vertikal. Petak kotak menerima namanya dari kotak di tengah.
Harga saham PT Astra Internasional dari tanggal 1 Januari 2019 sampai dengan 12 Juli 2019 adalah sebagai berikut:
Harga Open, High, Low, Close dan Adjacent Close secara umum berkorelasi satu sama lain. Korelasi tersebut akan sangat kelihatan dari nilai rata-rata per-10 hari sebagaimana Gambar berikut:
Nilai korelasi antar variabel ditunjukkan gambar berikut, nilai mendekati satu berarti sangat berkorelasi:
dari data korelasi untuk saham ASII Open sangat berkorelasi dengan High sementara Close sangat berkorelasi dengan Low
Variasi harga rata-rata Open, High, Low, Close dan Adj Close dan variasi harga teringgi dan terendahnya dapat dilihat dari grafik Boxplot berikut:
Garis ditengah kotak adalah nilai rata-rata. Batas atas-bawah nilai rata-rata ditunjukkan dari garis atas dan bawah kotak. Garis kumis ke atas dan ke bawah menunjukan rentang nilai harganya, tepatnya nilai simpangan baku dari rata-rata harga.
Frekuensi harga yang sering muncul ditunjukkan pada histogram di bawah ini
Data histogram di atas dapat disederhanakan ke dalam kurva estimasi densitas dengan tampilan yang lebih mudah untuk dipahami.
Dari kurva KDE, kemungkinan harga saham ASII berada di nilai Rp.7400-an sangat besar. Pada kenaikan yang drastis nilai tertinggi yang mungkin dicapai adalah Rp.9000-an tapi seringkali naik ke Rp.8200-an. Penurunan yang drastis biasanya berhenti di harga Rp.6000-an.
Fluktuasi harian harga saham bisa dilakukan dengan melihat selisih harga terhadap harga rata-rata pada selang waktu yang dipilih. Flusktuasi harian juga bisa dilakukan dengan baseline nilai moving averaging sebagaimana gambar 2 di atas.
Dari fluktuasi harga harian ini, bisa memberi rekomendasi kita untuk menjual atau membeli.
Dari segi sebaran harga sebenarnya harga saham ASII relatif acak dan tidak berkorelasi satu data dengan data lainnya. Berdasarkan kurva autocorrelation plot dan lag plot tidak ada trend dan seasonality pada harga saham ASII.
Harga saham PT Indofood dari tanggal 1 Januari 2019 sampai dengan 12 Juli 2019 adalah sebagai berikut:
Harga Open, High, Low, Close dan Adjacent Close secara umum berkorelasi satu sama lain. Korelasi tersebut akan sangat kelihatan dari nilai rata-rata per-10 hari sebagaimana Gambar berikut:
Nilai korelasi antar variabel ditunjukkan gambar berikut, nilai mendekati satu berarti sangat berkorelasi:
dari data korelasi untuk saham INDF Open sangat berkorelasi dengan High sementara Close sangat berkorelasi dengan Low
Variasi harga rata-rata Open, High, Low, Close dan Adj Close dan variasi harga teringgi dan terendahnya dapat dilihat dari grafik Boxplot berikut:
Garis ditengah kotak adalah nilai rata-rata. Batas atas-bawah nilai rata-rata ditunjukkan dari garis atas dan bawah kotak. Garis kumis ke atas dan ke bawah menunjukan rentang nilai harganya, tepatnya nilai simpangan baku dari rata-rata harga.
Frekuensi harga yang sering muncul ditunjukkan pada histogram di bawah ini
Data histogram di atas dapat disederhanakan ke dalam kurva estimasi densitas dengan tampilan yang lebih mudah untuk dipahami.
Dari kurva KDE, kemungkinan harga saham INDF berada di nilai Rp.7000-an sangat besar. Pada kenaikan yang drastis nilai tertinggi yang mungkin dicapai adalah Rp.8500-an tapi seringkali turun ke Rp.6400-an. Penurunan yang drastis biasanya berhenti di harga Rp.5500-an.
Fluktuasi harian harga saham bisa dilakukan dengan melihat selisih harga terhadap harga rata-rata pada selang waktu yang dipilih. Flusktuasi harian juga bisa dilakukan dengan baseline nilai moving averaging sebagaimana gambar 2 di atas.
Dari fluktuasi harga harian ini, bisa memberi rekomendasi kita untuk menjual atau membeli.
Dari segi sebaran harga sebenarnya harga saham INDF berkorelasi satu data dengan data lainnya. Berdasarkan kurva autocorrelation plot dan lag plot ada trend dan seasonality pada harga saham INDF.
Harga saham PT Japfa Comfeed dari tanggal 1 Januari 2019 sampai dengan 12 Juli 2019 adalah sebagai berikut:
Harga Open, High, Low, Close dan Adjacent Close secara umum berkorelasi satu sama lain. Korelasi tersebut akan sangat kelihatan dari nilai rata-rata per-10 hari sebagaimana Gambar berikut:
Nilai korelasi antar variabel ditunjukkan gambar berikut, nilai mendekati satu berarti sangat berkorelasi:
dari data korelasi untuk saham JPFA Open sangat berkorelasi dengan High sementara Close sangat berkorelasi dengan Low
Variasi harga rata-rata Open, High, Low, Close dan Adj Close dan variasi harga teringgi dan terendahnya dapat dilihat dari grafik Boxplot berikut:
Garis ditengah kotak adalah nilai rata-rata. Batas atas-bawah nilai rata-rata ditunjukkan dari garis atas dan bawah kotak. Garis kumis ke atas dan ke bawah menunjukan rentang nilai harganya, tepatnya nilai simpangan baku dari rata-rata harga.
Frekuensi harga yang sering muncul ditunjukkan pada histogram di bawah ini
Data histogram di atas dapat disederhanakan ke dalam kurva estimasi densitas dengan tampilan yang lebih mudah untuk dipahami.
Dari kurva KDE, kemungkinan harga saham JPFA berada di nilai Rp.1500-an sangat besar. Pada kenaikan yang drastis nilai tertinggi yang mungkin dicapai adalah Rp.3500-an tapi seringkali naik ke Rp.2100-an. Penurunan yang drastis biasanya berhenti di harga Rp.500-an.
Fluktuasi harian harga saham bisa dilakukan dengan melihat selisih harga terhadap harga rata-rata pada selang waktu yang dipilih. Flusktuasi harian juga bisa dilakukan dengan baseline nilai moving averaging sebagaimana gambar 2 di atas.
Dari fluktuasi harga harian ini, bisa memberi rekomendasi kita untuk menjual atau membeli.
Dari segi sebaran harga sebenarnya harga saham JPFA berkorelasi satu data dengan data lainnya. Berdasarkan kurva autocorrelation plot dan lag plot ada trend dan seasonality pada harga saham JPFA.
Harga saham PT Charoen Phokphan dari tanggal 1 Januari 2019 sampai dengan 12 Juli 2019 adalah sebagai berikut:
Harga Open, High, Low, Close dan Adjacent Close secara umum berkorelasi satu sama lain. Korelasi tersebut akan sangat kelihatan dari nilai rata-rata per-10 hari sebagaimana Gambar berikut:
Nilai korelasi antar variabel ditunjukkan gambar berikut, nilai mendekati satu berarti sangat berkorelasi:
dari data korelasi untuk saham CPIN Open sangat berkorelasi dengan High sementara Close sangat berkorelasi dengan Low
Variasi harga rata-rata Open, High, Low, Close dan Adj Close dan variasi harga teringgi dan terendahnya dapat dilihat dari grafik Boxplot berikut:
Garis ditengah kotak adalah nilai rata-rata. Batas atas-bawah nilai rata-rata ditunjukkan dari garis atas dan bawah kotak. Garis kumis ke atas dan ke bawah menunjukan rentang nilai harganya, tepatnya nilai simpangan baku dari rata-rata harga.
Frekuensi harga yang sering muncul ditunjukkan pada histogram di bawah ini
Data histogram di atas dapat disederhanakan ke dalam kurva estimasi densitas dengan tampilan yang lebih mudah untuk dipahami.
Dari kurva KDE, kemungkinan harga saham CPIN berada di nilai Rp.4900-an sangat besar. Pada kenaikan yang drastis nilai tertinggi yang mungkin dicapai adalah Rp.6500-an tapi seringkali naik ke Rp.5750-an. Penurunan yang drastis biasanya berhenti di harga Rp.3500-an.
Fluktuasi harian harga saham bisa dilakukan dengan melihat selisih harga terhadap harga rata-rata pada selang waktu yang dipilih. Flusktuasi harian juga bisa dilakukan dengan baseline nilai moving averaging sebagaimana gambar 2 di atas.
Dari fluktuasi harga harian ini, bisa memberi rekomendasi kita untuk menjual atau membeli.
Dari segi sebaran harga sebenarnya harga saham CPIN relatif acak dan tidak berkorelasi satu data dengan data lainnya. Berdasarkan kurva autocorrelation plot dan lag plot tidak ada trend dan seasonality pada harga saham CPIN.